package aaa.analyzer;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;

import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import android.content.Context;

public class ContainerData {	

	public static Context context ;

//	private static String OLD_URL_FEED_FORMAT = "http://adeweb.uhp-nancy.fr/ade/rss?projectId=%s&resources=%s&nbDays=%s" ;
	private static String URL_FEED_FORMAT =  "http://adeweb.uhp-nancy.fr/direct/gwtdirectplanning/rss?projectId=%s&resources=%s&nbDays=%s&since=0" ;

	public ContainerData() {
		super() ;
	}

	public static ArrayList<Feed> getFeeds(int projectId, String ressource, int period){
		SAXParserFactory fabrique = SAXParserFactory.newInstance() ;
		SAXParser parseur = null ;
		ArrayList<Feed> feeds = null ;               
		String urlF = String.format(URL_FEED_FORMAT, projectId, ressource, period) ;

		try {
			parseur = fabrique.newSAXParser() ;
			URL url = new URL(urlF) ;
			/* 
			 * Le handler sera gestionnaire du fichier XML c'est à dire que c'est lui qui sera chargé
			 * des opérations de parsing. On vera cette classe en détails ci aprés.
			 */
			DefaultHandler handler = new ParserXMLHandler();
			// On parse le fichier XML
			parseur.parse(url.openConnection().getInputStream(), handler);
			// On récupére directement la liste des feeds
			feeds = ((ParserXMLHandler) handler).getData();
		} catch (ParserConfigurationException e) {
			//TODO
		} catch (SAXException e) {
			//TODO
		} catch (MalformedURLException e1) {
			//TODO (Highly unlikely error)
		} catch (IOException e) {
			e.printStackTrace();
		}// try

		// On la retourne l'array list
		return feeds;
	}

}